iT邦幫忙

2025 iThome 鐵人賽

DAY 12
0
Software Development

AI 慣老闆的 AI 學習歷程 - AI 時代的軟體工程的反思系列 第 12

AI 慣老闆的 AI學習日記 Day 11 - 客戶回報 Bug 工程師重現不了:「怎麼重現?」

  • 分享至 

  • xImage
  •  

https://ithelp.ithome.com.tw/upload/images/20250815/20142509eQWk9vFWSQ.png

Issue Template 與 Reproduce Steps

貝老闆:客戶說「報表按匯出就爆炸」,這還不趕快修!

小可:我剛照做沒炸耶。請問「哪份報表、哪個帳號、用了什麼瀏覽器」…… 等等你怎麼剃光頭了!?

貝老闆:每天都被客戶罵,頭髮都掉光了...沒啦!客戶就只說『按匯出嘛』!

小可(翻白眼):你其實母雞抖(不知道)吧....拜託,問清楚給詳細重現步驟!

(電話撥給好威)

好威:這就是標準的「我這邊沒事」。要修 Bug 先給可重現。沒有重現,就像醫生只聽到「肚子痛」卻不量體溫。就算你叫 AI 修 bug 你也得清楚告訴他症狀,來,我示範一份能讓工程師或 AI 都能當場復刻災難的報告。

好威示範|最小可重現 Bug 報告

建議標題:匯出報表於 Edge 125/中文地區設定下,遇到含 emoji 的客戶名稱導致 500。

環境:Prod、租戶 A、使用者 role=Manager、Windows 11、Edge 125;台灣地區、語系 zh‑TW、時區 GMT+8。

前置條件:客戶名稱含 emoji,例如「好康商行 🔥」。

重現步驟
1)登入 tenantA 管理後台 → 2)報表>客戶清單 → 3)勾選含 emoji 的客戶 → 4)按「匯出 CSV」→ 5)3 秒後跳 500 錯誤。

期望:成功下載 customers.csv

實際:HTTP 500;頁面顯示「Export failed」。

證據:畫面錄影(含系統時間)、Console 截圖、HAR、trace_id=8f3b...、錯誤時間 2025‑08‑14 09:17。

影響:影響內勤 12 位經常匯出的人;有替代作法:改用 Chrome 成功。

備註:疑似 CSV 編碼與字元轉換(可能 BOM/UTF‑8)相關。

(可貼範本)

### Environment
- App: Prod  | Tenant: A | Role: Manager
- OS/Browser: Windows 11 / Edge 125
- Locale/Timezone: zh-TW / GMT+8

### Preconditions
- Record includes emoji char

### Steps to Reproduce
1. ...

### Expected vs. Actual
- Expected: ...
- Actual: ... (include error text)

### Evidence
- Screen recording / Screenshot / HAR
- Console error / Network payload
- trace_id: xxxx  time: yyyy-mm-dd HH:MM

### Impact & Workaround
- Users affected / frequency
- Temporary workaround

概念拆解

1️⃣ 可重現=能讓工程師在他電腦上也爆給你看。 只說「壞了」不算資訊;要提供環境(哪個系統、哪個版本)、前置條件(資料長什麼樣)、步驟(一步一步)、證據(錄影與 trace_id)。這四件事就是 Debug 的 GPS,少一個就像少了座標,工程師 & AI 會在沙漠裡找海邊。

2️⃣ 最小可重現(Minimal Repro)讓定位快十倍。 刪到只留下「一定會炸」的最小資料與最短步驟——像把雜訊關掉,只留關鍵音。例:不是「所有報表都炸」,而是「含 emoji 名稱的客戶清單在 Edge 才炸」。這種剪到骨子的訊息,能直接引導到編碼或瀏覽器差異。

3️⃣ 證據要能被系統驗證。 錄影請露出系統時間、版本、游標操作;Console/Network、HAR、後端 trace_id 對上日誌時間,才能跨前後端追鍊。同時附上「影響與替代作法」,方便排優先級:很多 P0 其實是有 workaround 的 P1。


與 AI 協作(不懂技術也能寫好 Bug)

a)把抱怨丟給 AI,讓它幫你結構化成 Issue。 把客戶的原話、截圖、你操作的錄影貼給 AI,要求輸出上面那個模板;並請它反問缺漏(例如時區、語系、是否登入、是否跨租戶)。

b)請 AI 產生「假設清單」與「驗證劇本」。 要求它提出 3–5 個最可能原因(例如 CSV 編碼、後端轉碼、Edge 下載處理),並產生 Playwright 腳本或 cURL 指令,交給工程師快速重現。

c)要 AI 教你採證。 直接問:「如何在 Edge 抓 HAR、如何從 DevTools 複製 cURL、錄影要包含哪些欄位?」讓 AI 當你的數位助理,把蒐證流程標準化。


Takeaways

① 先模板、後追殺。 先要求所有 Bug 一律用 Issue Template,Jira/GitHub 皆可配置必填欄位。沒有「環境、前置、步驟、期望/實際、證據、影響」就不進開發排程。這不像官僚,而是讓每一分鐘工程時數都花在刀口上。

② 設「最小可重現」文化。 週會時做 5 分鐘 Repro 比武:把一個真實案例砍到最少步驟與最小資料,練到大家本能會問「還能再減嗎?」久了,團隊 Debug 速度會跟著飛起來。

③ 把 AI 納入提報流程。 在模板最後加一句:「請 AI 檢查並補齊缺漏」。讓非工程人能交出 80 分以上的 Bug;工程師拿到後再用 AI 生成測試腳本,直接進 CI 重現與回歸。


精煉重點

  • 沒有可重現,就沒有修復速度。
  • 最小可重現,是 Debug 的直達車。

今日提問

你公司目前的 Bug 報告,缺哪一格最多?為什麼那一格總是空白?

小作業(可貼給 AI 的 Prompt):

「請把以下聊天紀錄與截圖整理成可重現的 Bug 報告,使用本篇模板;如果資訊不足,請逐條列出要向回報者追> 問的欄位,並產生一段 Playwright 測試腳本重現。」


上一篇
AI 慣老闆的 AI學習日記 Day 10 - 流量暴衝 Replit timeout! 你聽過 autoscale 嗎?
下一篇
AI 慣老闆的 AI學習日記 Day 12 - 第三方登入整合失敗:OAuth2/Identity 基礎(Callback 設錯,人人卡登入)
系列文
AI 慣老闆的 AI 學習歷程 - AI 時代的軟體工程的反思34
圖片
  熱門推薦
圖片
{{ item.channelVendor }} | {{ item.webinarstarted }} |
{{ formatDate(item.duration) }}
直播中

尚未有邦友留言

立即登入留言